package io.adrainty.bolee.security.models.bo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.adrainty.bolee.framework.commons.basic.BaseBO;
import io.adrainty.bolee.framework.commons.basic.EnableEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/8/3 上午12:40
 */

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tab_user")
@Schema(description = "用户管理")
public class UserBO extends BaseBO {

    @Serial
    private static final long serialVersionUID = -5594744292778936581L;

    @Schema(description = "用户名")
    @TableField(value = "username")
    private String username;

    @Schema(description = "微信openId")
    @TableField(value = "open_id")
    private String openId;

    @Schema(description = "密码")
    @TableField(value = "password")
    private String password;

    @Schema(description = "昵称")
    @TableField(value = "nick_name")
    private String nickName;

    @Schema(description = "邮箱")
    @TableField(value = "email")
    private String email;

    @Schema(description = "真实姓名")
    @TableField(value = "real_name")
    private String realName;

    @Schema(description = "手机")
    @TableField(value = "mobile")
    private String mobile;

    @Schema(description = "性别")
    @TableField(value = "sex")
    private String sex;

    @Schema(description = "头像")
    @TableField(value = "avatar")
    private String avatar;

    @Schema(description = "所属公司编号")
    @TableField(value = "company_no")
    private String companyNo;

    @Schema(description = "数据状态：0正常 1禁用")
    private EnableEnum dataState;

}
